package com.panshi.modules.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.panshi.modules.domain.UserMember;
import com.panshi.vo.ItemQueryUserVo;
import com.panshi.vo.R;
import com.panshi.vo.UserVO;

import java.util.List;

public interface UserService {

    List<UserVO> listUser();

    int addUser(UserMember userMember);

    int editUser(UserVO userVO);

    int delUser(Integer id);

    //通过id获取
    UserVO getUserById(Integer id);

    //通过phone获取
    UserVO getUserByPhone(String phone);

    //通过email获取
    UserVO getUserByEmail(String emial);
    //根据用户ID查询指定用户
    UserMember selectByUserInfo(Integer id);
    //修改指定用户ID下用户信息
    int updateUserInfo(ItemQueryUserVo itemQueryVo);
    //修改指定用户ID下用户头像
    String updateUserHeadBaseCode(ItemQueryUserVo itemQueryUserVo);
    //发送修改用户邮箱验证码
    public R sendEmail(Integer userId,String userName,String type) ;
    //校验修改用户邮箱验证码是否正确
    public R checkEmailCode(Integer userId,String userName,String code,String type);
    //发送修改用户手机短信验证码
    public R sendIphone(Integer userId,String userName,String type) ;
    //校验修改用户手机短信验证码是否正确
    public R checkIphoneCode(Integer userId,String userName,String code,String type);
    //根据指定邮箱名查用户ID
    public int queryUserId(int type,String userName);
    //根据类型判断根据邮箱还是验证码查询用户ID
    public Long getUserLoginId(String userName,int type);
}
